package alg20241026;

import java.util.HashMap;
import java.util.Map;

public class Text {
    public static void main(String[] args) {

    }
    public int totalFruit(int[] fruits) {
        int left = 0, right = 0, n = fruits.length;
        Map<Integer, Integer> map = new HashMap<>();
        int len = 0;
        while(right < n){
            if(!map.containsKey(fruits[right])){     //进窗口
                map.put(fruits[right], 1);
            }else{
                int count = map.get(fruits[right]);
                map.put(fruits[right], count++);
            }

            while(map.size() > 2){   //出窗口
                int count = map.get(fruits[left]);
                map.put(fruits[left], count--);
                if(count == 0){       //小细节  删除key  size才减小
                    map.remove(fruits[left]);
                }
                left++;

            }
            len = Math.max(len, right - left + 1);
            right++;
        }
        return len;
    }
}
